const { defineConfig } = require("@vue/cli-service");
const setupMock = require("./mock");

module.exports = defineConfig({
  transpileDependencies: true,
  // 修改脚手架配置，必须重启服务器才能生效
  devServer: {
    // 在本地开发服务器上添加代理功能
    proxy: {
      // "/api" 拦截以 /api 开头的请求
      // 将这个请求转发到目标服务器 target
      // target 目标服务器地址
      "/api": {
        target: "http://sph-h5-api.atguigu.cn",
        changeOrigin: true, // 允许跨域
        // pathRewrite: { // 路径是否需要重写，看接口文档中接口要不要这个请求前缀
        //   "/api": "",
        // },
      },
    },

    onBeforeSetupMiddleware: function (devServer) {
      /*
        app相当于：
          const app = express();
      */
      const app = devServer.app;

      // 在devServer上搭建新的路由
      // 当你向devServer发送请求时，满足条件的请求会被路由拦截，返回mock数据
      // app.get("/mock/getBanners", function (req, res) {
      //   // 返回模拟数据给客户端
      //   res.json({
      //     code: 200,
      //     message: "",
      //     success: true,
      //     data: banners,
      //   });
      // });

      setupMock(app);
    },
  },
});
